Skip to content

[python] Add paired ACT storage benchmark - #9466

Merged
JingsongLi merged 2 commits into
apache:masterfrom
YannByron:m0/pr3-act-benchmark
Sep 9, 2026
Merged

[python] Add paired ACT storage benchmark#9466
JingsongLi merged 2 commits into
apache:masterfrom
YannByron:m0/pr3-act-benchmark

Conversation

@YannByron

@YannByron YannByron commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Add a reproducible paired ACT benchmark for equivalent RoboMIND data stored in HDF5 and Paimon.

This PR now contains only the benchmark. It builds on the snapshot-pinned ContiguousWindowDataset merged in #9580.

Changes

  • Add prepare, run, and compare commands for independent HDF5 and Paimon runs using one resolved experiment.
  • Verify source identity, logical window order, tensors, and loss traces before comparing performance metrics.
  • Use frame_index consistently as the ACT sample position across both storage backends.
  • Package the default experiment and optional ACT benchmark dependencies.
  • Document the workflow, reported metrics, and measurement boundaries.

Testing

  • Rebased onto the latest master (d95ebff28).
  • Full Python suite: 4701 passed, 78 skipped on Python 3.13.
  • ACT and RoboMIND regression suite: 48 passed, 1 skipped.
  • Flake8, license headers, compileall, and git diff --check.
  • RED → GREEN: decimal-valued HDF5 actions reproduced the statistics-domain mismatch before the fix and pass after canonical float32 conversion.

Notes

  • Ingestion and canonical-action backfill are outside timed benchmark runs.
  • The benchmark does not control the OS page cache.
  • GPU, multi-worker loading, distributed training, recovery, and policy quality are outside this local CPU benchmark.

@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch from 622ceae to 5d8890e Compare August 29, 2026 14:53
@YannByron
YannByron marked this pull request as draft August 29, 2026 14:54
@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch 2 times, most recently from fb77b0e to 7b2b5a4 Compare September 1, 2026 03:24
@YannByron
YannByron marked this pull request as ready for review September 1, 2026 03:51
@YannByron
YannByron marked this pull request as draft September 1, 2026 03:52
@YannByron
YannByron marked this pull request as ready for review September 2, 2026 01:14
Comment thread paimon-python/pypaimon/multimodal/window_dataset.py Outdated
Comment thread paimon-python/pypaimon/benchmark/act/runner.py Outdated
Comment thread docs/docs/pypaimon/robomind-act-benchmark.md
Comment thread paimon-python/pypaimon/benchmark/act/harness.py Outdated
Comment thread paimon-python/pypaimon/multimodal/window_dataset.py Outdated
Comment thread paimon-python/pypaimon/multimodal/window_dataset.py
@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch from 42be5b2 to 705683a Compare September 2, 2026 09:16
@YannByron YannByron changed the title [python] Add paired HDF5/Paimon ACT benchmark [python] Add ACT storage benchmark and contiguous windows Sep 2, 2026
@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch from 705683a to 9e0340a Compare September 3, 2026 02:48
@JingsongLi

Copy link
Copy Markdown
Contributor

Thanks for putting this together. This PR currently combines two independently valuable changes with different review and risk profiles: the generic ContiguousWindowDataset public API, and the RoboMIND ACT benchmark harness and workflow.

Given the 4.4k-line scope, could we split this into two PRs?

  1. Contiguous-window Dataset: the public API, row-ID and snapshot semantics, BLOB handling, batching behavior, tests, and API documentation.
  2. ACT benchmark: the prepare/run/compare workflow, backend adapters, packaging, benchmark documentation, and ideally a real paired Vortex result artifact with variance and physical-layout identity.

This would make the public API easier to review on its own, while allowing the benchmark methodology and reproducibility contract to be evaluated independently. It would also keep follow-up fixes in either area from blocking the other.

@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch from 9e0340a to 78207fc Compare September 8, 2026 14:21
@YannByron YannByron changed the title [python] Add ACT storage benchmark and contiguous windows [python] Add paired ACT storage benchmark Sep 8, 2026

@JingsongLi JingsongLi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three actionable issues found in the updated benchmark-only scope.

Comment thread paimon-python/pypaimon/benchmark/act/runner.py
Comment thread docs/docs/pypaimon/robomind-act-benchmark.md
Comment thread paimon-python/pypaimon/benchmark/act/runner.py Outdated
YannByron and others added 2 commits September 9, 2026 15:30
Rebuild the benchmark-only change on top of the merged contiguous-window dataset. Compare equivalent HDF5 and Paimon ACT inputs and use frame_index consistently in the public sample contract.

Co-Authored-By: Codex <noreply@anthropic.com>
AI-Model: gpt-5
Co-Authored-By: Codex <noreply@ai-tool.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Contributed/Feature: 181/2395
AI-Contributed/UT: 687/895
Align RoboMIND fields and formats with the public data contract, compare action statistics in the canonical numeric domain, and keep validation reads outside benchmark timing.

Co-Authored-By: Codex <noreply@anthropic.com>
AI-Model: gpt-5
AI-Contributed/Feature: 71/71
AI-Contributed/UT: 57/57
@YannByron
YannByron force-pushed the m0/pr3-act-benchmark branch from 78207fc to 556278e Compare September 9, 2026 08:06
@JingsongLi

Copy link
Copy Markdown
Contributor

+1

@JingsongLi
JingsongLi merged commit 196e28f into apache:master Sep 9, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants